<?php

declare(strict_types=1);

/**
 * 游戏策略静态类，规范游戏策略类，此类可以扩展每个策略公共的方法
 */
namespace App\Game\Core;

 /**
  *  游戏策略静态类，规范游戏策略类，此类可以扩展每个策略公共的方法
  *  每个游戏请求逻辑，都算一个游戏策略， 采用策略模式实现
  *  策略支持三种协议的策略， WEBSOCKET, HTTP, TCP, 分别在app目录下
  *  框架的开发也是主要分别实现每种协议逻辑，根据路由配置转发到相对应的策略里.
  */
 abstract class AStrategy
 {
     /**
      * 参数.
      */
     protected $_params = [];


     /**
      * 构造函数，协议传输过来的数据
      * AStrategy constructor.
      * @param array $params
      */
     public function __construct($params = [])
     {
         $this->_params = $params;
     }

     /**
      * 执行方法，每条游戏协议，实现这个方法就行.
      */
     abstract public function exec();

 }
